package cn.tangshh.universal.security.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.Set;

/**
 * 授权用户信息抽象类
 *
 * @author Tang
 * @version v1.0
 * @since 2024/10/12
 */
@Data
@Schema(title = "授权用户信息抽象类")
public abstract class BasisAuthUser implements UserDetails {
    @Schema(title = "用户标识")
    private String userCode;

    @Schema(title = "用户名称")
    private String username;

    @Schema(title = "用户密码")
    private String password;

    @Schema(title = "角色列表")
    private Set<BasisUserRole> roles;

    @Schema(title = "权限列表")
    private Set<BasicGrantedAuthority> authorities;
}